commonlibsse_ng\re\b\BSTArray/
IAllocatorFunctor.rs

1use crate::re::offsets_rtti::RTTI_BSTArrayBase__IAllocatorFunctor;
2use crate::re::offsets_vtable::VTABLE_BSTArrayBase__IAllocatorFunctor;
3use crate::rel::id::VariantID;
4use core::ffi::c_void;
5
6#[repr(C)]
7#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
8pub struct IAllocatorFunctor {
9    vtable_: *const IAllocatorFunctorVtbl,
10}
11const_assert_eq!(core::mem::size_of::<IAllocatorFunctor>(), 0x8);
12
13impl IAllocatorFunctor {
14    pub const RTTI: VariantID = RTTI_BSTArrayBase__IAllocatorFunctor;
15    pub const VTABLE: [VariantID; 1] = VTABLE_BSTArrayBase__IAllocatorFunctor;
16}
17
18#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
19pub struct IAllocatorFunctorVtbl {
20    pub Allocate: fn(this: *mut c_void, num: u32, elem_size: u32) -> bool,
21    pub Reallocate: fn(
22        this: *mut c_void,
23        min_new_size_items: u32,
24        front_copy_count: u32,
25        back_copy_count: u32,
26        elem_size: u32,
27    ) -> bool,
28    pub Deallocate: fn(this: *mut c_void) -> c_void,
29
30    /// `~IAllocatorFunctor`
31    pub CxxDrop: fn(this: *mut c_void) -> c_void,
32}